<template>
  <section>适配器模式</section>
</template>

<script>
/**
 * @Description:适配器模式
 * @author ZY
 * @date 2022/11/23 22:41
 */
export default {
  name: "DesignAdaptor",
  data() {
    return {}
  },
  created() {
    console.log('*******适配器模式开始********')
    this.main()
    console.log('*******适配器模式结束********')
  },
  methods: {
    /*
    * 适配器模式：将一个类的接口转化为另外一个接口，以满足用户需求，使类之间接口不兼容问题通过适配器得以解决。
    * 适配器模式： 提供一个不同的接口（如不同版本的插头）
      可以让任何两个没有关联的类一起运行。提高了类的复用。适配对象，适配库，适配数据
    * */
    main() {
      class Plug {
        getName() {
          return 'iphone充电头';
        }
      }

      class Target {
        constructor() {
          this.plug = new Plug();
        }
        getName() {
          return this.plug.getName() + ' 适配器Type-c充电头';
        }
      }

      let target = new Target();
      target.getName(); // iphone充电头 适配器转Type-c充电头
    }
  }
}
</script>

<style scoped>

</style>
